linear algebra cryptography project